package com.ruoyi.project.system.service;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.List;

import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.project.system.domain.OrderDetails;

/**
 * 订单详情Service接口
 *
 * @author tsxuwj
 * @date 2020-06-22
 */
public interface IOrderDetailsService {
    /**
     * 查询订单详情
     *
     * @param id 订单详情ID
     * @return 订单详情
     */
    public OrderDetails selectOrderDetailsById(Long id);

    /**
     * 查询订单详情列表
     *
     * @param orderDetails 订单详情
     * @return 订单详情集合
     */
    public List<OrderDetails> selectOrderDetailsList(OrderDetails orderDetails);

    /**
     * 新增订单详情
     *
     * @param orderDetails 订单详情
     * @return 结果
     */
    public int insertOrderDetails(OrderDetails orderDetails);

    /**
     * 修改订单详情
     *
     * @param orderDetails 订单详情
     * @return 结果
     */
    public int updateOrderDetails(OrderDetails orderDetails);

    /**
     * 批量删除订单详情
     *
     * @param ids 需要删除的订单详情ID
     * @return 结果
     */
    public int deleteOrderDetailsByIds(Long[] ids);

    /**
     * 删除订单详情信息
     *
     * @param id 订单详情ID
     * @return 结果
     */
    public int deleteOrderDetailsById(Long id);

    /**
     * 新增订单详情-自写
     *
     * @param orderDetails 订单详情
     * @return 结果
     */
    public int insertOrderDetailsTSXUWJ(OrderDetails orderDetails);

    /**
     * 修改订单详情-自写
     *
     * @param orderDetails 订单详情
     * @return 结果
     */
    public int updateOrderDetailsTSXUWJ(OrderDetails orderDetails);

    /**
     * 删除订单详情信息-自写
     *
     * @param id 订单详情ID
     * @return 结果
     */
    public int deleteOrderDetailsByIdTSXUWJ(Long id);

    /**
     * 查询订单详情列表-自写
     *
     * @param orderDetails 订单详情
     * @return 订单详情集合
     */
    public List<OrderDetails> selectOrderDetailsListTSXUWJ(OrderDetails orderDetails);

    /**
     * 导出订单详情-自写
     *
     * @param orderDetails 订单详情
     * @return 订单详情集合
     */
    public AjaxResult exportOrderDetailsTSXUWJ(OrderDetails orderDetails) throws IOException;
}
